<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>InfAdoptedStateVector</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
<link rel="home" href="index.html" title="libinfinity-0.4 Reference Manual">
<link rel="up" href="ch03.html" title="Libinfinity's adOPTed implementation">
<link rel="prev" href="InfAdoptedUser.html" title="InfAdoptedUser">
<link rel="next" href="InfAdoptedSessionRecord.html" title="InfAdoptedSessionRecord">
<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="InfAdoptedUser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libinfinity-0.4 Reference Manual</th>
<td><a accesskey="n" href="InfAdoptedSessionRecord.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libinfinity-0.4-InfAdoptedStateVector.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libinfinity-0.4-InfAdoptedStateVector.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="InfAdoptedStateVector">
<a name="libinfinity-0.4-InfAdoptedStateVector"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libinfinity-0.4-InfAdoptedStateVector.top_of_page"></a>InfAdoptedStateVector</span></h2>
<p>InfAdoptedStateVector — Represents a state in the interaction model</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1" title="Stability Level">
<a name="libinfinity-0.4-InfAdoptedStateVector.stability-level"></a><h2>Stability Level</h2>
Unstable, unless otherwise indicated
</div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libinfinity-0.4-InfAdoptedStateVector.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;libinfinity/adopted/inf-adopted-state-vector.h&gt;

                    <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector">InfAdoptedStateVector</a>;
enum                <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVectorError" title="enum InfAdoptedStateVectorError">InfAdoptedStateVectorError</a>;
<span class="returnvalue">void</span>                (<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVectorForeachFunc" title="InfAdoptedStateVectorForeachFunc ()">*InfAdoptedStateVectorForeachFunc</a>) (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> value</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-error-quark" title="inf_adopted_state_vector_error_quark ()">inf_adopted_state_vector_error_quark</a>
                                                        (<em class="parameter"><code><span class="type">void</span></code></em>);
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-new" title="inf_adopted_state_vector_new ()">inf_adopted_state_vector_new</a>    (<em class="parameter"><code><span class="type">void</span></code></em>);
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-copy" title="inf_adopted_state_vector_copy ()">inf_adopted_state_vector_copy</a>   (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-free" title="inf_adopted_state_vector_free ()">inf_adopted_state_vector_free</a>       (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-get" title="inf_adopted_state_vector_get ()">inf_adopted_state_vector_get</a>        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-set" title="inf_adopted_state_vector_set ()">inf_adopted_state_vector_set</a>        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> value</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-add" title="inf_adopted_state_vector_add ()">inf_adopted_state_vector_add</a>        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> value</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-foreach" title="inf_adopted_state_vector_foreach ()">inf_adopted_state_vector_foreach</a>    (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVectorForeachFunc" title="InfAdoptedStateVectorForeachFunc ()"><span class="type">InfAdoptedStateVectorForeachFunc</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="/usr/share/gtk-doc/html/gnutls/gnutls-crypto.html#int"><span class="returnvalue">int</span></a>                 <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-compare" title="inf_adopted_state_vector_compare ()">inf_adopted_state_vector_compare</a>    (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-causally-before" title="inf_adopted_state_vector_causally_before ()">inf_adopted_state_vector_causally_before</a>
                                                        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-causally-before-inc" title="inf_adopted_state_vector_causally_before_inc ()">inf_adopted_state_vector_causally_before_inc</a>
                                                        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> inc_component</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-vdiff" title="inf_adopted_state_vector_vdiff ()">inf_adopted_state_vector_vdiff</a>      (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-to-string" title="inf_adopted_state_vector_to_string ()">inf_adopted_state_vector_to_string</a>  (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>);
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-from-string" title="inf_adopted_state_vector_from_string ()">inf_adopted_state_vector_from_string</a>
                                                        (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-to-string-diff" title="inf_adopted_state_vector_to_string_diff ()">inf_adopted_state_vector_to_string_diff</a>
                                                        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *orig</code></em>);
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-from-string-diff" title="inf_adopted_state_vector_from_string_diff ()">inf_adopted_state_vector_from_string_diff</a>
                                                        (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *orig</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<a name="libinfinity-0.4-InfAdoptedStateVector.description"></a><h2>Description</h2>
<p>
The <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> represents a state in the current state space.
It basically maps user IDs to operation counts and states how many
operations of the corresponding user have already been performed.
</p>
</div>
<div class="refsect1" title="Details">
<a name="libinfinity-0.4-InfAdoptedStateVector.details"></a><h2>Details</h2>
<div class="refsect2" title="InfAdoptedStateVector">
<a name="InfAdoptedStateVector"></a><h3>InfAdoptedStateVector</h3>
<pre class="programlisting">typedef struct _InfAdoptedStateVector InfAdoptedStateVector;</pre>
<p>
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> is an opaque data type. You should only access it
via the public API functions.
</p>
</div>
<hr>
<div class="refsect2" title="enum InfAdoptedStateVectorError">
<a name="InfAdoptedStateVectorError"></a><h3>enum InfAdoptedStateVectorError</h3>
<pre class="programlisting">typedef enum _InfAdoptedStateVectorError {
  INF_ADOPTED_STATE_VECTOR_BAD_FORMAT,

  INF_ADOPTED_STATE_VECTOR_FAILED
} InfAdoptedStateVectorError;
</pre>
<p>
Error codes for <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="INF-ADOPTED-STATE-VECTOR-BAD-FORMAT:CAPS"></a><span class="term"><code class="literal">INF_ADOPTED_STATE_VECTOR_BAD_FORMAT</code></span></p></td>
<td>A string representation of an
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> as required by
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-from-string" title="inf_adopted_state_vector_from_string ()"><code class="function">inf_adopted_state_vector_from_string()</code></a> or
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-from-string-diff" title="inf_adopted_state_vector_from_string_diff ()"><code class="function">inf_adopted_state_vector_from_string_diff()</code></a> is invalid.
</td>
</tr>
<tr>
<td><p><a name="INF-ADOPTED-STATE-VECTOR-FAILED:CAPS"></a><span class="term"><code class="literal">INF_ADOPTED_STATE_VECTOR_FAILED</code></span></p></td>
<td>No further specified error code.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="InfAdoptedStateVectorForeachFunc ()">
<a name="InfAdoptedStateVectorForeachFunc"></a><h3>InfAdoptedStateVectorForeachFunc ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                (*InfAdoptedStateVectorForeachFunc) (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> value</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
This function is called for every component in the state vector during
the invocation of <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-foreach" title="inf_adopted_state_vector_foreach ()"><code class="function">inf_adopted_state_vector_foreach()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The ID of the entry.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>The value of the entry.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>The user data passed to <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-foreach" title="inf_adopted_state_vector_foreach ()"><code class="function">inf_adopted_state_vector_foreach()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_error_quark ()">
<a name="inf-adopted-state-vector-error-quark"></a><h3>inf_adopted_state_vector_error_quark ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              inf_adopted_state_vector_error_quark
                                                        (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
The domain for <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVectorError" title="enum InfAdoptedStateVectorError"><span class="type">InfAdoptedStateVectorError</span></a> errors.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> for that domain.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_new ()">
<a name="inf-adopted-state-vector-new"></a><h3>inf_adopted_state_vector_new ()</h3>
<pre class="programlisting"><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * inf_adopted_state_vector_new    (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Returns a new state vector with all components set to zero.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A new <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_copy ()">
<a name="inf-adopted-state-vector-copy"></a><h3>inf_adopted_state_vector_copy ()</h3>
<pre class="programlisting"><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * inf_adopted_state_vector_copy   (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>);</pre>
<p>
Returns a copy of <em class="parameter"><code>vec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>The <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> to copy
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A copy of <em class="parameter"><code>vec</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_free ()">
<a name="inf-adopted-state-vector-free"></a><h3>inf_adopted_state_vector_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_adopted_state_vector_free       (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>);</pre>
<p>
Frees a state vector allocated by <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-new" title="inf_adopted_state_vector_new ()"><code class="function">inf_adopted_state_vector_new()</code></a> or
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-copy" title="inf_adopted_state_vector_copy ()"><code class="function">inf_adopted_state_vector_copy()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_get ()">
<a name="inf-adopted-state-vector-get"></a><h3>inf_adopted_state_vector_get ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               inf_adopted_state_vector_get        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>);</pre>
<p>
Returns the timestamp for the given component. Implicitely, all IDs
that the vector does not contain are assigned the timestamp 0.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The component whose timestamp to look for.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The <em class="parameter"><code>component</code></em>'th entry in the vector.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_set ()">
<a name="inf-adopted-state-vector-set"></a><h3>inf_adopted_state_vector_set ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_adopted_state_vector_set        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> value</code></em>);</pre>
<p>
Sets the given component of <em class="parameter"><code>vec</code></em> to <em class="parameter"><code>value</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The component to change.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>The value to set the component to.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_add ()">
<a name="inf-adopted-state-vector-add"></a><h3>inf_adopted_state_vector_add ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_adopted_state_vector_add        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> value</code></em>);</pre>
<p>
Adds <em class="parameter"><code>value</code></em> to the current value of <em class="parameter"><code>component</code></em>. <em class="parameter"><code>value</code></em> may be negative in
which case the current value is actually decreased. Make sure to not drop
below zero this way.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The component to change.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>The value by which to change the component.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_foreach ()">
<a name="inf-adopted-state-vector-foreach"></a><h3>inf_adopted_state_vector_foreach ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_adopted_state_vector_foreach    (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVectorForeachFunc" title="InfAdoptedStateVectorForeachFunc ()"><span class="type">InfAdoptedStateVectorForeachFunc</span></a> func</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Calls <em class="parameter"><code>func</code></em> for each component in <em class="parameter"><code>vec</code></em>. Note that there may be users for
which <em class="parameter"><code>func</code></em> will not be called if their timestamp is 0.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>The function to call.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>Additional data to pass to <em class="parameter"><code>func</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_compare ()">
<a name="inf-adopted-state-vector-compare"></a><h3>inf_adopted_state_vector_compare ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gnutls/gnutls-crypto.html#int"><span class="returnvalue">int</span></a>                 inf_adopted_state_vector_compare    (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>);</pre>
<p>
Performs a comparison suited for strict-weak ordering so that state vectors
can be sorted. This function returns -1 if <em class="parameter"><code>first</code></em> compares before <em class="parameter"><code>second</code></em>,
0 if they compare equal and 1 if <em class="parameter"><code>first</code></em> compares after <em class="parameter"><code>second</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>first</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>second</code></em> :</span></p></td>
<td>Another <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> -1, 0 or 1.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_causally_before ()">
<a name="inf-adopted-state-vector-causally-before"></a><h3>inf_adopted_state_vector_causally_before ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            inf_adopted_state_vector_causally_before
                                                        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>);</pre>
<p>
Checks whether an event that occured at time <em class="parameter"><code>second</code></em> is causally
dependant on an event that occured at time <em class="parameter"><code>first</code></em>, that is all
components of <em class="parameter"><code>first</code></em> are less or equal to the corresponding component in
<em class="parameter"><code>second</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>first</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>second</code></em> :</span></p></td>
<td>Another <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether <em class="parameter"><code>second</code></em> depends on <em class="parameter"><code>first</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_causally_before_inc ()">
<a name="inf-adopted-state-vector-causally-before-inc"></a><h3>inf_adopted_state_vector_causally_before_inc ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            inf_adopted_state_vector_causally_before_inc
                                                        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> inc_component</code></em>);</pre>
<p>
This function does the equivalent of
</p>
<p>
</p>
<div class="informalexample"><pre class="programlisting">
inf_adopted_state_vector_add(first, inc_component, 1);
gboolean result = inf_adopted_state_vector_causally_before(first, second);
inf_adopted_state_vector_add(first, inc_component, -1);
return result;
</pre></div>
<p>
</p>
<p>
But it is more efficient.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>first</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>second</code></em> :</span></p></td>
<td>Another <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>inc_component</code></em> :</span></p></td>
<td>The component to increment before comparing.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether <em class="parameter"><code>second</code></em> depends on <em class="parameter"><code>first</code></em> with the
<em class="parameter"><code>inc_component</code></em>th component increased by one.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_vdiff ()">
<a name="inf-adopted-state-vector-vdiff"></a><h3>inf_adopted_state_vector_vdiff ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               inf_adopted_state_vector_vdiff      (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *first</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *second</code></em>);</pre>
<p>
This function returns the sum of the differences between each component
of <em class="parameter"><code>first</code></em> and <em class="parameter"><code>second</code></em>. This function can only be called if
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-causally-before" title="inf_adopted_state_vector_causally_before ()"><code class="function">inf_adopted_state_vector_causally_before()</code></a> returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>first</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>second</code></em> :</span></p></td>
<td>Another <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The sum of the differences between each component of <em class="parameter"><code>first</code></em> and
<em class="parameter"><code>second</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_to_string ()">
<a name="inf-adopted-state-vector-to-string"></a><h3>inf_adopted_state_vector_to_string ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             inf_adopted_state_vector_to_string  (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>);</pre>
<p>
Returns a string representation of <em class="parameter"><code>vec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A newly-allocated string to be freed by the caller.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_from_string ()">
<a name="inf-adopted-state-vector-from-string"></a><h3>inf_adopted_state_vector_from_string ()</h3>
<pre class="programlisting"><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * inf_adopted_state_vector_from_string
                                                        (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_to_string_diff ()">
<a name="inf-adopted-state-vector-to-string-diff"></a><h3>inf_adopted_state_vector_to_string_diff ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             inf_adopted_state_vector_to_string_diff
                                                        (<em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *vec</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *orig</code></em>);</pre>
<p>
Returns the string representation of a diff between <em class="parameter"><code>orig</code></em> and <em class="parameter"><code>vec</code></em>. This
is possibly smaller than the representation created by
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-to-string" title="inf_adopted_state_vector_to_string ()"><code class="function">inf_adopted_state_vector_to_string()</code></a>, but the same <em class="parameter"><code>orig</code></em> vector is needed
to recreate <em class="parameter"><code>vec</code></em> from the string representation. Additionally,
inf_adopted_state_vector_causally_before(<em class="parameter"><code>orig</code></em>, <em class="parameter"><code>vec</code></em>) must hold.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>vec</code></em> :</span></p></td>
<td>A <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>orig</code></em> :</span></p></td>
<td>Another <a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A newly allocated string to be freed by the caller.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_adopted_state_vector_from_string_diff ()">
<a name="inf-adopted-state-vector-from-string-diff"></a><h3>inf_adopted_state_vector_from_string_diff ()</h3>
<pre class="programlisting"><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="returnvalue">InfAdoptedStateVector</span></a> * inf_adopted_state_vector_from_string_diff
                                                        (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#InfAdoptedStateVector" title="InfAdoptedStateVector"><span class="type">InfAdoptedStateVector</span></a> *orig</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Recreates a vector from its string representation diff and the original
vector. If an error returns, the function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and <em class="parameter"><code>error</code></em> is set.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
<td>A string representation of a diff between state vectors.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>orig</code></em> :</span></p></td>
<td>The state vector used to create <em class="parameter"><code>str</code></em> in
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-to-string-diff" title="inf_adopted_state_vector_to_string_diff ()"><code class="function">inf_adopted_state_vector_to_string_diff()</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Location to place an error, if any.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The created state vector, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. Free with
<a class="link" href="libinfinity-0.4-InfAdoptedStateVector.html#inf-adopted-state-vector-free" title="inf_adopted_state_vector_free ()"><code class="function">inf_adopted_state_vector_free()</code></a> when no longer needed.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" title="See Also">
<a name="libinfinity-0.4-InfAdoptedStateVector.see-also"></a><h2>See Also</h2>
<a class="link" href="InfAdoptedAlgorithm.html" title="InfAdoptedAlgorithm"><span class="type">InfAdoptedAlgorithm</span></a>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15</div>
</body>
</html>